﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Lavanderia.Entities;

namespace Lavanderia.BL
{
    public interface IVentaBL
    {
        List<VENTA> GetAllFromVentas();
        List<VENTA> GetAllFromVentasByCriterio(string criterio);
        List<VENTA> GetAllFromVentasByNComprobante(Int32 ncomp);
        List<VENTA> GetAllFromVentasByFecha(DateTime fecha);
        List<VENTA> GetAllFromVentasByFechaForArqueo(DateTime fecha);
        List<VENTA> GetAllFromVentasCanceladas();
        List<VENTA> GetAllFromVentasEntregadas();
        List<VENTA> GetAllFromVentasByCriterioAndEntregadas(string criterio);
        List<VENTA> GetAllFromVentasByNComprobanteAndEntregadas(Int32 ncomp);
        List<VENTA> GetAllFromVentasByFechaAndEntregadas(DateTime fecha);
        VENTA GetAllFromVentasById(Int32 id);

        List<VENTA> GetAllFromVentasByFechaAbono(DateTime fechaAbono);
        List<VENTA> GetAllFromVentasByAllFechas(DateTime fecha);

        //detalles reporte
        List<VENTA> GetAllFromVentasOfDay(DateTime fecha);
        List<VENTA> GetAllFromVentasOfMonth(Int32 fecha);
        List<VENTA> GetAllFromVentasOfYear(Int32 fecha);
        List<VENTA> GetAllFromVentasCanceladasOfDay(DateTime fecha);
        List<VENTA> GetAllFromVentasCanceladasOfMonth(Int32 fecha);
        List<VENTA> GetAllFromVentasCanceladasOfYear(Int32 fecha);

        void AddVentas(VENTA venta);
        void UpdateVentas(VENTA venta);
        void RemoveVentas(Int32 id);
    }
}
